Detecting vibrations generated by a swipe gesture

ABSTRACT

In some examples, a computing device may include a swipeable portion with a material having a textured surface. A primary sensor may receive motion-generated data when a swipe gesture is performed on the swipeable portion and send primary data to an embedded controller (EC). The primary sensor may be mounted between two layers of vibration damping material. The EC may filter the primary data to create filtered data. The EC may determine that the filtered data satisfies one or more criteria to determine that the swipe gesture was performed. In response, the EC may perform one or more associated actions, such as determining and displaying a battery level of a battery of the computing device.

BACKGROUND OF THE INVENTION Field of the Invention

This invention relates generally to detecting touch generated vibrationson a portable computing device and, more particularly to detecting whena user has deliberately swiped a particular area and performing one ormore actions in response.

Description of the Related Art

As the value and use of information continues to increase, individualsand businesses seek additional ways to process and store information.One option available to users is information handling systems (IHS). Aninformation handling system generally processes, compiles, stores,and/or communicates information or data for business, personal, or otherpurposes thereby allowing users to take advantage of the value of theinformation. Because technology and information handling needs andrequirements vary between different users or applications, informationhandling systems may also vary regarding what information is handled,how the information is handled, how much information is processed,stored, or communicated, and how quickly and efficiently the informationmay be processed, stored, or communicated. The variations in informationhandling systems allow for information handling systems to be general orconfigured for a specific user or specific use such as financialtransaction processing, airline reservations, enterprise data storage,or global communications. In addition, information handling systems mayinclude a variety of hardware and software components that may beconfigured to process, store, and communicate information and mayinclude one or more computer systems, data storage systems, andnetworking systems.

Portable information handling systems, such as laptops, tablets, andsmartphones, continue evolve and become sleeker and more minimalistic.One way to provide a dedicated control surface for various functions(e.g., power on and the like) is to use touch-sensitive (e.g.,touch-capacitance) materials. However, touch-sensitive controls cannottypically be used with metal or metallic coated cases. Another way toprovide a dedicated control surface is to detect when a user hasdeliberately touched or swiped a particular area. However, such acontrol surface may be susceptible to false triggering from normalhandling, finger tapping, being transported in a bag, incidentalrubbing, and he like.

SUMMARY OF THE INVENTION

This Summary provides a simplified form of concepts that are furtherdescribed below in the Detailed Description. This Summary is notintended to identify key or essential features and should therefore notbe used for determining or limiting the scope of the claimed subjectmatter.

In some examples, a computing device may include a swipeable portionwith a material having a textured surface. A primary sensor may receivemotion-generated data (e.g., vibration data, acoustic signal data,and/or audio data) when a swipe gesture is performed on the swipeableportion and send primary data to an embedded controller (EC). Theprimary sensor may be mounted between two layers of vibration dampingmaterial. The EC may filter the primary data to create filtered data.The EC may determine that the filtered data satisfies one or morecriteria to determine that the swipe gesture was performed. In response,the EC may perform one or more associated actions, such as determiningand displaying a battery level of a battery of the computing device.

BRIEF DESCRIPTION OF THE DRAWINGS

A more complete understanding of the present disclosure may be obtainedby reference to the following Detailed Description when taken inconjunction with the accompanying Drawings. In the figures, theleft-most digit(s) of a reference number identifies the figure in whichthe reference number first appears. The same reference numbers indifferent figures indicate similar or identical items.

FIG. 1 is a block diagram of a system that includes a computing devicehaving a swipeable portion, according to some embodiments.

FIG. 2A is a block diagram illustrating detecting a swipe in a firstdirection along a swipeable portion of a computing device, according tosome embodiments.

FIG. 2B is a block diagram illustrating detecting a swipe in a seconddirection along a swipeable portion of a computing device, according tosome embodiments.

FIG. 3 is a block diagram illustrating using isolation mounting toreduce false triggering, according to some embodiments.

FIG. 4A is a block diagram illustrating a first example of filteredaudio, according to some embodiments.

FIG. 4B is a block diagram illustrating a second example of filteredaudio, according to some embodiments.

FIG. 5 is a flowchart of a process that uses at least two sensors toprovide noise rejection, according to some embodiments.

FIG. 6 illustrates an example configuration of a computing device thatcan be used to implement the systems and techniques described herein.

DETAILED DESCRIPTION

For purposes of this disclosure, an information handling system (IHS)may include any instrumentality or aggregate of instrumentalitiesoperable to compute, calculate, determine, classify, process, transmit,receive, retrieve, originate, switch, store, display, communicate,manifest, detect, record, reproduce, handle, or utilize any form ofinformation, intelligence, or data for business, scientific, control, orother purposes. For example, an information handling system may be apersonal computer (e.g., desktop or laptop), tablet computer, mobiledevice (e.g., personal digital assistant (PDA) or smart phone), server(e.g., blade server or rack server), a network storage device, or anyother suitable device and may vary in size, shape, performance,functionality, and price. The information handling system may includerandom access memory (RAM), one or more processing resources such as acentral processing unit (CPU) or hardware or software control logic,ROM, and/or other types of nonvolatile memory. Additional components ofthe information handling system may include one or more disk drives, oneor more network ports for communicating with external devices as well asvarious input and output (I/O) devices, such as a keyboard, a mouse,touchscreen and/or video display. The information handling system mayalso include one or more buses operable to transmit communicationsbetween the various hardware components.

The systems and techniques enable detection of a user swiping aparticular (e.g., swipeable) portion of a computing device whilerejecting false triggers. A false trigger occurs when vibrations notcaused by a swipe gesture trigger an action that is to be performed whena swipe gesture is detected. For example, a portable computing device(e.g., laptop, tablet, smartphone, smartwatch, or the like) may enablethe user to perform a swipe gesture to a particular (e.g. swipeable)portion of the computing device to perform one or more actions, such asdetermining and temporarily displaying an amount of battery liferemaining in battery, raising or lowering (e.g., depending on adirection of the swipe) a volume of a audio output, a brightness of adisplay device, a contrast of the display device, or another actionrelated to the computing device. A swipe is a deliberate gestureperformed by a user to a particular portion of the computing device inwhich the user (i) places a part of an appendage (e.g., a tip of afinger) in contact with one end of the particular portion and then (ii)drags the part of the appendage to the other end of the particularportion, within a predefined amount of time (e.g., less than or equal toX milliseconds, such as 500 milliseconds). The swipeable portion of thecomputing device where the user may perform the swipe gesture (“swipe”)may be located on a side of an enclosure (e.g., housing) of thecomputing device, on a bezel of a display device, near an input device(e.g., a keyboard or a trackpad), or the like. The length of theswipeable portion of the computing device may be at least one centimeter(cm) in length. A false trigger is the accidental or unintentionaltriggering of one or more actions associated with a swipe gesture.

A primary (e.g., first) sensor may be placed near the swipeable portionof the computing device to detect vibrations generated by the swipe. Anembedded controller (EC) may be used to receive data from the primarysensor, process the data, and perform one or more actions. In somecases, the EC may be separate from the primary sensor while in othercases the EC may be integrated into the primary sensor. The primarysensor may be an accelerometer, a microphone, or another type oftransducer capable of detecting sound waves (e.g., audible frequencies).For example, in some cases, the primary sensor may be a 3-Axisaccelerometer, such as the MC3451 or equivalent. The primary sensor maybe mounted (e.g., sandwiched) in an enclosure (e.g., housing) of thecomputing device between two pieces of foam to isolate the primarysensor from other vibrations that may be transmitted by the enclosure.For example, the foam may be a vibration dampening foam, such as aviscoelastic foam that translates vibrational energy into another formof energy (e.g., heat). The use of a sensor with a built-in EC may beuseful to display information to a user even when the computing deviceis in a low power state (e.g., turned off). For example, a user enteringa meeting room may perform a swipe gesture to a particular portion of alaptop computer that is turned off to determine an amount of theremaining battery life to decide whether to sit near an electricaloutlet in the meeting in order to charge the battery. When the primarysensor detects vibrations, the primary sensor may wake the EC, determinethat a swipe occurred, determine that the swipe is associated with aparticular action (e.g., display remaining battery life), check thebattery level and illuminate one or more lights to indicate theremaining battery life. Thus, the user can display the battery levelwithout turning on the computer.

In some cases, a secondary (e.g., second) sensor may be located at adifferent location from the primary sensor. The second sensor may becoupled to (or at least not isolated from) the enclosure to enable thesecondary sensor to capture data (e.g., vibrations) that is notgenerated by a user swipe. The secondary sensor may be used to providenoise rejection. For example, if both the primary sensor and thesecondary sensor detect vibrations, then the data from both sensors maybe compared to determine whether the user performed a swipe gesture. Toillustrate, if the amplitude of secondary vibrations detected by thesecondary sensor is equal to or exceeds the amplitude of primaryvibrations detected by the primary sensor, then the EC may determinethat the user did not perform a swipe gesture. If the amplitude ofsecondary vibrations detected by the secondary sensor is less than theamplitude of primary vibrations detected by the primary sensor, then theEC may determine that the user performed a swipe gesture.

To increase the amplitude of vibrations generated by a user swipe,textured (e.g., striated) material may be placed along the swipeableportion of the computing device where the user may perform the swipe.When the user performs a swipe gesture to the particular (e.g.,swipeable) portion of the computing device, the amplitude of thevibrations created by swiping the textured material may be higher thanthe amplitude of the vibrations created when the user is using an inputdevice (e.g., keyboard, trackpad, or the like), when the user's handbrushes against a different (e.g., nonstriated and therefore smoother)portion of the enclosure, when the enclosure of the computing devicerubs against a carrying bag in which the computing device has beenplaced, or the like. The striated material may include bumps having morethan one height, such as, for example, bumps having (i) a first height,(i) a second height, and, in some cases, at least a third height. Forexample, the size of each bump may be tuned to create a vibration with aparticular frequency (e.g., greater than 300 hertz (Hz)). In thisexample, swiping a first bump with a first height may cause a vibrationwith a first frequency, swiping a second bump with a second height maycause a vibration with a second frequency, swiping a third bump with athird height may cause a vibration with a third frequency, and so on. Byadjusting the frequencies of the bumps of the textured material and byfiltering the data received from the sensors, a swipe gesture performedalong the particular portion of the computing device can be detectedwhile rejecting other non-swipe generated vibrations. For example, ifthe bumps produce frequencies with the range of 400-500 Hz, then alowpass filter (or a bandpass filter) may be used to process the datareceived from the sensors to filter out frequencies below 400 Hz (orbelow 400 Hz and above 500 Hz for a bandpass filter). Such a swipe canbe used to trigger the computing device to perform one or more actions,such as, for example, temporarily (e.g., for Y seconds, such as between1 to 10 seconds, displaying a remaining battery life).

In addition, when multiple bump sizes are used, the direction of a swipecan be determined. For example, assume the first bump with the firstheight generated a first frequency of 400 Hz and is located near a leftmost end of the particular portion of the computing device and assumethe second bump with the second height generates a second frequency of500 Hz and is located near the right most end of the particular portion.After receiving and filtering the data from the primary sensor, if thedata indicates that the frequency 400 Hz occurred before the frequency500 Hz, then the swipe was left to right and if the data indicates thatthe frequency 500 Hz occurred before the frequency 400 Hz, then theswipe was right to left. A user may store a configuration in a userpreference file indicating what action (e.g., which settings orparameters are changed) to perform when a swipe in a particulardirection is performed. For example, the user preference file mayspecify that volume of an audio output or speaker is increased when aswipe from left to right is detected and the volume is decreased when aswipe from right to left is detected. The amount of change in volume maybe proportional to the length of the swipe or the speed of the swipe,e.g., a longer or slower swipe may reduce the volume more than a shorteror faster swipe. As another example, the user preference file mayspecify that brightness (or contrast) of a display device of thecomputing device is increased when a swipe from left to right isdetected and is decreased when a swipe from right to left is detected.The amount of change may be proportional to the length of the swipe orthe speed of the swipe, e.g., a longer or slower swipe may reduce thebrightness (or contrast) more than a shorter or faster swipe. As afurther example, the user preference file may specify that a page of adocument being displayed advance to a following page when a swipe fromleft to right is detected and a previous page is displayed when a swipefrom right to left is detected. Of course, a user may customize the userpreference file to change other settings or parameters of the computingdevice based on a directional swipe.

Thus, a swipeable portion (e.g., a strip) located in a housing of acomputing device may be programmed to perform one or more actions when aswipe gesture is detected along the particular portion. To increase theamplitude of the motion-generated data (e.g., vibration data, acousticsignal data, and/or audio data) when a swipe gesture occurs, theswipeable portion may use material (e.g., plastic or metal) that has atexture, such as striations or bumps. The size of the striations orbumps may be selected to create motion-generated data having aparticular set of frequencies. The motion-generated data may be filtered(e.g., low pass or bandpass filtering) to reduce the amplitude offrequencies not included in the particular set of frequencies created bythe striations or bumps, further reducing the possibility of falsetriggering due to other vibrations transmitted by the enclosure (e.g.,housing). In some cases, two sensors may be used to further reduce thepossibility of false triggering by placing a primary sensor near theparticular portion of the computing device that includes the striatedmaterial and a secondary sensor located further away. The primary sensormay be mounted between vibration damping (e.g., viscoelastic) materialto decouple the primary sensor from the enclosure, thereby reducing theamplitude of vibrations not originating from the swipeable portion ofthe computing device. The secondary sensor may be mounted further fromthe swipeable portion and may be coupled to the enclosure to identifyvibrations being transmitted by the enclosure. For example, if themotion-generated data received by the secondary sensor has an amplitudethat is the same or greater than the amplitude of motion-generated datareceived by the primary sensor, then no action may be performed becausethe motion-generated data was likely not generated by a swipe. In thisway, the signal-to-noise ratio (also referred to as SNR or S/N ratio) ofthe motion-generated data generated by a swipe may be increased, therebyreducing false triggering due to the user incidentally brushing upagainst the swipeable portion and other (e.g., non-swipe generated)vibrations, such as being carried in a bag, being placed in or removedfrom a bag, being placed on a surface, and the like.

As a first example, a computing device may include an embeddedcontroller (EC) to receive primary data from a primary sensor that ismounted between two layers of vibration damping (e.g., viscoelastic)material that reduces vibrations transmitted by a housing of thecomputing device that are received by the primary sensor. The EC mayfilter the primary data to create filtered data. For example, the EC mayfilter out frequencies not created by the swipe gesture on a swipeableportion of the computing device using a bandpass filter to create thefiltered data. The swipeable portion of the computing device may includea textured surface having at least one of: a first bump having a firstheight to generate a first frequency, a second bump having a secondheight to generate a second frequency, or a third bump having a thirdheight to generate a third frequency. The EC may determine whether thefiltered data satisfies one or more criteria. For example, the EC maydetermine whether an amplitude of the filtered data is greater than afirst threshold (e.g., 500 ms) and determine whether a length of thefiltered data is greater than a second threshold. The EC may determinewhether one or more input devices (e.g., keyboard, trackpad, and thelike) are in use. In some cases, the EC may receive second data from asecondary sensor that is coupled to the enclosure of the computingdevice, filter the second data to create second filtered data, anddetermine whether a second amplitude of the second filtered data is lessthan the amplitude of the filtered data. Based on the result of the oneor more determinations, the EC may determine whether a swipe gesture wasperformed on a swipeable portion of the computing device. If the ECdetermines that the swipe gesture was performed, the EC may perform oneor more actions associated with the swipe gesture. In some cases, the ECmay determine whether the swipe gesture was performed in a firstdirection or in a second direction. For example, the one or more actionsassociated with the swipe gesture may include performing at least oneof: (i) determining and displaying, using one or more indicator lights,a battery level associated with a battery of the computing device, (ii)modifying a contrast level of a display device of the computing deviceto create a modified contrast level and displaying the modified contrastlevel using the one or more indicator lights, (iii) modifying abrightness level of a display device of the computing device to create amodified brightness level and displaying the modified brightness levelusing the one or more indicator lights, (iv) modifying an audio outputlevel of the computing device to create a modified audio output leveland displaying the modified audio output level using the one or moreindicator lights, or (v) modifying an audio input level of the computingdevice to create a modified audio input level and displaying themodified audio input level using the one or more indicator lights. Theone or more actions associated with the swipe gesture are performedwithout using one or more processors of the computing device. Forexample, the computing device may be in a low power state (e.g., an offstate or a hibernation state) in which an operating system is inactive(e.g., not booted up or in hibernation).

As a second example, a computing device may include an enclosure tohouse one or more input devices, one or more processors, and a swipeableportion comprising: (i) a material having a textured surface, (ii) aprimary sensor to receive audio waves conducted by the material, wherethe primary sensor is mounted between two layers of vibration dampingmaterial to decouple the primary sensor from vibrations transmitted bythe enclosure, (iii) one or more indicator lights visible through thematerial, and (iv) an EC configured with logic instructions. Theswipeable portion of the computing device may include a textured surfacehaving at least one of: (i) a first bump having a first height togenerate a first frequency, (ii) a second bump having a second height togenerate a second frequency, or (iii) a third bump having a third heightto generate a third frequency. The EC may receive primary data from theprimary and filter the primary data to create filtered data. Forexample, the EC may filter the primary data to create the filtered databy filtering out frequencies not created by the swipe gesture on theswipeable portion of the computing device using a bandpass filter tocreate the filtered data. The EC may determine whether the filtered datasatisfies one or more criteria. For example, the EC may determinewhether an amplitude of the filtered data is greater than a firstthreshold. The EC may determine whether a length of the filtered data isgreater than a second threshold (e.g., 500 ms). The EC may determinewhether input is being received from one or more input devices. The ECmay receive second data from a secondary sensor that is coupled to theenclosure of the computing device, filter the second data to createsecond filtered data, and determine whether a second amplitude of thesecond filtered data is less than the amplitude of the filtered data.Based on the results of one or more of the determinations, the EC maydetermine whether a swipe gesture was performed on a swipeable portionof the computing device. If the EC determines that the swipe gesture wasperformed, the EC may perform one or more actions associated with theswipe gesture. For example, the EC may perform at least one of: (i)determining and displaying, using one or more indicator lights, abattery level associated with a battery of the computing device, (ii)modifying a contrast level of a display device of the computing deviceto create a modified contrast level and displaying the modified contrastlevel using the one or more indicator lights, (iii) modifying abrightness level of a display device of the computing device to create amodified brightness level and displaying the modified brightness levelusing the one or more indicator lights, (iv) modifying an audio outputlevel of the computing device to create a modified audio output leveland displaying the modified audio output level using the one or moreindicator lights, or (v) modifying an audio input level of the computingdevice to create a modified audio input level and displaying themodified audio input level using the one or more indicator lights. Theone or more actions associated with the swipe gesture may be performedwithout using the one or more processors (e.g., without booting thecomputing device if the computing device is off or in a hibernationstate).

FIG. 1 is a block diagram of a computing device 100 having a swipeableportion, according to some embodiments. While the computing device 100is illustrated as being a laptop computer, the systems and techniquesdescribed herein may be applied to other portable computing devices,such as, for example, a tablet, a smartphone, a smartwatch, or the like.

The computing device 100 may include a first housing 102 coupled to asecond housing 104 using one or more hinges 106. The first housing 102may include one or more input devices, such as a keyboard, a trackpad,and the like. The second housing 104 may include a display device.

One of the housings 102, 104 may include a swipeable portion 110 thatcan be swiped by a user appendage, such as a user's hand 108. In FIG. 1,a top view of the swipeable portion 110 is illustrated as being locatedon a front edge of the first housing 102. However, it should beunderstood that the swipeable portion 110 may be located anywhere ineither the first housing 102 or the second housing 104. In addition,while a single swipeable portion 110 is illustrated in FIG. 1, it shouldbe understood that the computing device 100 may include more than oneswipeable portion.

The swipeable portion 110 may include a circuit 112 that includes anembedded controller (EC) 114. A primary sensor 116 may be connected tothe circuit 112. While the EC 114 is shown as being separate from theprimary sensor 116, in some cases, the EC 114 may be incorporated intothe primary sensor 116. The primary sensor 116 may be mounted in such away as to decouple the sensor 116 from the housing 102 to reduce theamplitude of non-swipe generated vibrations that are picked up by theprimary sensor 116. For example, the primary sensor 116 may besandwiched between two layers of vibration damping (e.g., viscoelastic)material.

One or more indicator lights 118 may be connected to the circuit 112.The lights 118 may be part of a liquid crystal display (LCD), lightemitting diodes (LED), organic light emitting diodes (OLED), or thelike. In some cases, multiple lights, such as five lights 118, may beused to provide an indication as to a level, such as a battery level ofthe computing device 102. The number of the lights 118 that areilluminated may be proportional to the battery level. For example, allfive lights 118 may be illuminated to indicate a full battery level, asingle light 118 may be illuminated to indicate a nearly empty battery,and two or more lights 118 may be illuminated to indicate a partialbattery level. Of course, in other cases, a single light 118 may beused. For example, when using a single light 118, the brightness of thelight 118 may be proportional to the battery level, with very brightindicating a full battery, very dim indicating a nearly empty battery,and in-between brightness levels indicating partial battery levels. Asanother example, when using a single light 118 capable of displayingmultiple colors, the color of the light 118 may indicate the batterylevel, with green indicating a full battery, yellow indicating apartially full battery, and red indicating a nearly empty battery.

A strip of material 120 may be used to gather and conduct the sound(e.g., audio) created by a swipe to the primary sensor 116. The material120 may be a type of transparent or translucent plastic to enable theindicator lights 118 to be viewed. In some cases, the material 120 maybe hollow to enable the material 120 to conduct (or amplify) the soundcreated by a swipe. For example, the material 120 may be hollowed out toinclude a cylindrical shaft to conduct the audio waves created by aswipe. In some cases, the diameter of the cylindrical shaft in thematerial 120 may be tuned to emphasize (e.g., increase the amplitude of)certain frequencies. As another example, the material 120 may behollowed out to include a cone-shaped shaft to conduct and amplify theaudio waves created by a swipe. The wide end of the cone-shape may belocated near the primary sensor 116 while the narrow end may be locatedfurther from the primary sensor 116, e.g., closer to where the swipegesture may be performed. The material 120 may include a textured (e.g.,striated) edge 122. Except for the textured edge 122, which is exposedto enable a user to swipe the textured edge 122, the remainder of theswipeable portion 110 may be located inside the housing 102.

The thickness of this strip is 0.6 mm in the z-direction so it is verydiscrete to the device ID, but allows adequate user contact surface andlight pipe area.

A secondary sensor 124 may be located inside the housing 102. Thesecondary sensor 124 may be coupled to the housing 102 to enable thesecondary sensor 124 to detect non-swipe generated vibrations to enablethe circuit 112 to use differential signaling to determine when a swipeoccurred.

For example, assume that the action to be performed when a swipe isdetected is to display a battery level of a battery 130 of the computingdevice 100. This action may be performed regardless of whether thecomputing device 100 is powered on or powered off. When the user's hand108 is used to swipe the textured edge 122, the sound created by theswipe may be carried by the material 120 to the primary sensor 116. Theprimary sensor 116 may convert the analog sound into motion-generateddata 126 (e.g., vibration data, acoustic signal data, and/or audio data)and send the motion-generated data 126 to the EC 114 for processing. Thesecondary sensor 124 may pick up sounds (e.g., ambient noise from theenvironment, vibrations transmitted by the housing 102, and the like),and send motion-generated data 128 to the EC 114. The EC 114 may processthe motion-generated data 126, 128 to determine whether themotion-generated data 126 indicates that a user performed a swipegesture across the textured edge 122 of the material 120. For example,the textured edge 122 of the material 120 may be created in such a wayso to emit a particular set of frequencies when swiped. The EC 114 mayfilter the motion-generated data 126 using a low pass (or a band pass)filter to remove (or reduce the amplitude of) frequencies not in theparticular set of frequencies to create filtered data 132.

The EC 114 may determine whether an amplitude of the filtered data 132satisfies a first (e.g., amplitude) threshold. If the amplitude of thefiltered data 132 does not satisfy the first threshold, then no actionmay be performed. If the amplitude of the filtered data 132 satisfiesthe first threshold then, prior to performing an associated action, insome cases, one or more additional conditions may be determined. The EC114 may determine whether a length time associated with the swipesatisfies a second (e.g., length) threshold. For example, the EC 114 maydetermine a length of time that a signal in the filtered data 132satisfies the first threshold to determine a length of time associatedwith the swipe. If the length of the signal in the filtered data 132does not satisfy the second (e.g., length) threshold (e.g., at least Mmilliseconds (ms), M>0, such as M=400 ms, 500 ms, 600 ms or the like),then no action may be performed. If the length of the signal in thefiltered data 132 satisfies the second threshold (e.g., at least 400 ms,500 ms, 600 ms or the like), then, prior to performing an associatedaction, in some cases, one or more additional conditions may bedetermined. The EC 114 may compare a first amplitude of first audio inthe filtered data 132 (e.g., from the primary sensor 116) with a secondamplitude of second audio in the filtered data 134 (e.g., from thesecondary sensor 124). If the second amplitude is the same as or greaterthan the first amplitude, then vibrations received by the secondarysensor 124 may have also been received by the primary sensor 116, and noaction may be performed. If the second amplitude is less than the firstamplitude, then the user may have performed a swipe gesture on theswipeable area 110, then, prior to performing an associated action, insome cases, one or more additional conditions may be determined. Ifinput is being received from an input device, such as a keyboard or atrack pad of the computing device 100, then the primary sensor 116 maybe detecting vibrations caused by the use of the input device, and noaction may be performed. If input is not being received from an inputdevice, such as a keyboard or a track pad of the computing device 100,then, prior to performing an associated action, in some cases, one ormore additional conditions may be determined. The filtered data 132, 134may be created in the digital domain, e.g., using digital signalprocessing (DSP), or in the analog domain, e.g., usingresistor-capacitor (RC) filtering.

After the EC 114 has determined that one or more conditions have beensatisfied (e.g., amplitude satisfies a threshold, length of signalsatisfies a threshold, amplitude of data from secondary sensor 124 lessthan amplitude of data from primary sensor 116, input devices are not inuse, and the like), the EC 114 may perform one or more associatedactions, such as, for example, determining and displaying the batterylevel of the battery 130 using the lights 118, modifying a parameter(e.g., contrast, brightness, or the like) of a display device anddisplaying an amount of the modified parameter using the lights 118,modifying a volume of an audio output or a speaker and displaying anamount of the modified volume using the lights 118, or modifying anotherparameter associated with the computing device 100 and displaying anamount of the modified parameter using the lights 118.

Thus, a computing device, such as a laptop, tablet, smartphone, orsmartwatch, may provide a swipeable portion that has a textured (e.g.,striated) exterior surface. The textured surface may include bumpshaving one or more sizes to generate a particular sound signature (e.g.,a particular set of frequencies). When a user performs a swipe gestureon the swipeable portion, a primary sensor may detect the vibrations andcapture motion-generated data generated by the swipe gesture. An EC mayfilter (e.g., band pass filtering or the like) the motion-generated datato filter out frequencies that are not included in the sound signature(e.g., a particular set of frequencies that are generated when a swipegesture is performed on the swipeable portion). The EC may analyze thefiltered motion-generated data, including determinizing an amplitude anda length of the filtered motion-generated data, to determine if themotion-generated data was generated by a deliberate gesture. The EC mayalso take into account second motion-generated data received from asecondary sensor to determine if the motion-generated data was generatedby a deliberate gesture. If the EC determines that the motion-generateddata was generated by a deliberate gesture, then the EC may perform oneor more actions associated with the gesture, such as determining anddisplaying a battery level of a battery of the computing device,modifying and displaying a display device parameter (e.g., contrast,brightness, or the like), modifying and displaying an audio parameter(e.g., microphone level, speaker level, audio output level, or thelike), or modifying and displaying another parameter associated with thecomputing device. In this way, false triggers can be reduced to preventthe actions associated with the swipe gesture from being performed whenthe user accidently brushes up against the swipeable portion, when theswipeable portion is rubbed when being placed in, taken out of, orcarried in a bag, when the user is providing input using a keyboard,trackpad, or the like, or other situations in which contact isaccidentally or incidentally made with the swipeable portion. After theEC determines that a swipe gesture has been performed, in some cases,the EC may receive additional input via the swipeable portion. Forexample, a swipe gesture may be followed by one or more number of tapson the swipeable portion, where the number of taps represents adifferent command. For example, a swipe gesture followed by one tap maycause the EC to determine and display a battery level of the computingdevice, a swipe gesture followed by two taps may cause the EC todetermine and display a wireless connection status (e.g., with thenumber of lights indicating a signal strength of the wirelessconnection), a swipe gesture followed by three taps may cause thecomputing device to power on (e.g., boot up an operating system), andthe like.

FIG. 2A is a block diagram illustrating detecting a swipe in a firstdirection along a swipeable portion of a computing device, according tosome embodiments. In FIG. 2A, a user may use an appendage of the hand108 to perform a swipe gesture in a first direction 202. The texturededge 122 may include a first bump 204 having a first height, a secondbump 206 having a second height (e.g., less than the first height), anda remainder of the bumps of the textured edge 122 may have a thirdheight (e.g., less than the second height). When swiped, each bump mayproduce a particular frequency based on the height of the bump. Forexample, a bump with a bigger height may produce a lower frequency thana bump with a smaller height. To illustrate, when swiped using a swipegesture, the first bump 204 may produce a first frequency (e.g., 400Hz), the second bump 206 may produce a second frequency (450 Hz), andthe remaining bumps of the textured edge 122, having the third height,may produce a third frequency (e.g., 500 Hz). When a user performs aswipe gesture in the first direction 202, the first bump 204 may beswiped before the second bump 206. The EC 114 may receive themotion-generated data 126 from the sensor 116 and filter themotion-generated data 126 to create the filtered data 132. The EC 114may analyze the filtered data 132, determine that the first frequencyoccurs before the second frequency, and determine that the swipe gesturewas performed in the first direction 202.

FIG. 2B is a block diagram illustrating detecting a swipe in a seconddirection along a swipeable portion of a computing device, according tosome embodiments. In FIG. 2B, a user may use an appendage of the hand108 to perform a swipe gesture in a second direction 208. When a userperforms a swipe gesture in the second direction 208, the second bump206 may be swiped before the first bump 204. The EC 114 may receive themotion-generated data 126 from the sensor 116 and filter themotion-generated data 126 to create the filtered data 132. The EC 114may analyze the filtered data 132, determine that the first frequencyoccurs after the second frequency, and determine that the swipe gesturewas performed in the second direction 208.

After determining the direction 202 or 208 in which a swipe gesture wasperformed, the EC 114 may perform one or more associated actions. Forexample, after determining that the swipe gesture was in the firstdirection 202, the EC 114 may cause a brightness of a display device tobe decreased, a contrast of the display device to be decreased, a volumeof a speaker or an audio output to be decreased, a volume of amicrophone (or other input device) to be decreased, or the like. Afterdetermining that the swipe gesture was in the second direction 208, theEC 114 may cause a brightness of a display device to be increased, acontrast of the display device to be increased, a volume of a speaker oran audio output to be increased, a volume of a microphone (or otherinput device) to be increased, or the like.

The textured edge 122 may be between about 10 to 50 millimeters (mm) inlength, and preferably about 25 mm in length. The bumps on the texturededge 122 may be between about 0.10 mm to about 0.50 mm in height (e.g.,proud the surface), and preferably 0.25 mm proud the surface. The bumpson the textured edge 122 may be between about 1.00 to 3.00 wide, andpreferably about 1.85 mm wide with a period of between 3 to 4 mm, andpreferably about 3.83 mm. Thus, for example, if two or more bumps are0.5 mm in height, the bumps may generate a higher frequency vibrationwhen a swipe gesture is performed. If one or more bumps has a width of1.0 mm and a spacing of 2.0 mm, then the frequency of the bumps may bedifferent.

FIG. 3 is a block diagram illustrating using isolation mounting toreduce false triggering, according to some embodiments. The primarysensor 116 and the material 120 (through which the lights 118 can beviewed), may be mounted between two pieces of vibration damping foam302(1) and 302(2) (or other viscoelastic material) to isolate both theprimary sensor and the material 120 (e.g., which is used to conduct oramplify sound waves to the primary sensor 116) from vibrationstransmitted through housings 304(1), 304(2). For example, the housings304(1), 304(2) may be a top portion and a bottom portion, respectively,of the housing 102 (or the housing 104) of FIG. 1. The vibration dampingfoam 302(1), 302(2) may be tuned (e.g., based on the density of thematerials used to create the vibration damping foam 302) to rejectand/or increase particular frequencies. For example, the vibrationdamping foam 302(1), 302(2) may be tuned to pass through or increase avolume of frequencies (e.g., 300-500 Hz) generated by a swipe gesture onthe swipeable portion 110 while decreasing (e.g., damping) otherfrequencies (e.g., frequencies below 300 Hz and above 500 Hz).

By mounting the primary sensor 116 and the material 120 between thevibration damping material 302(1), 302(1), vibrations conducted by thehousings 304(1), 304(2) may be damped (e.g., reduced in volume) beforethe vibrations reach the primary sensor 116, thereby reducing thepossibility false triggering. Vibrations conducted by the housings 304may include vibrations caused by placing in a bag the computing device100 of FIG. 1, removing the computing device 100 from the bag,incidental contact of the computing device 100 with the inside lining ofthe bag when being carried, the user making contact with a portion ofthe computing device 100 that does not include the material 120, and thelike.

To enable the EC 114 of FIG. 1 to distinguish vibrations conducted bythe housings 304(1), 304(2) from vibrations caused by a user performinga swipe gesture on the material 120, the secondary sensor 124 may beused to provide a differential signal. The secondary sensor 124 may bemounted in such a way that the secondary sensor 124 makes contact withthe housings 304(1), 304(2). In this way, if the motion-generated dataprovided by the secondary sensor 124 has the same or greater amplitudeas compared to the motion-generated data provided by the primary sensor116, then the EC 114 may determine that the vibrations picked up by theprimary sensor 116 are a false trigger and the EC 114 may not perform anassociated action. If the motion-generated data provided by thesecondary sensor 124 has an amplitude that is a predetermined amountless than the motion-generated data provided by the primary sensor 116,then the EC 114 may determine that the vibrations picked up by theprimary sensor 116 are caused by a swipe gesture and the EC 114 mayperform the associated action (e.g., determining and displaying abattery level). By comparing the two signals from the primary sensor 116and the secondary sensor 124, the EC 114 can determine whether or not aswipe gesture occurred, thereby reducing false triggers.

FIG. 4A is a block diagram illustrating a first example of filteredaudio, according to some embodiments. The EC 114 of FIG. 1 may analyzefiltered audio data 402 (e.g., one of the filtered audio data 132, 134)to determine an amplitude 404 of the filtered audio data 402 and alength of time 406 that the amplitude 404 satisfies a firstpredetermined threshold. For example, the EC 114 may determine an area408 in which the amplitude 404 exceeds a threshold of 30 db. The EC 114may determine if the length of the time 406 in the area 408 satisfies asecond predetermined threshold. For example, based on the area 408, theEC 114 may determine that the amplitude 404 exceeds 30 db for about 600ms (e.g., 650 ms−50 ms=600 ms), which exceeds a threshold of 500 ms. Inthis example, if the filtered audio data 402 is the filtered audio data132 from the primary sensor 116, then the EC 114 may determine that aswipe gesture was performed on the swipeable portion 110 and perform oneor more associated actions.

FIG. 4B is a block diagram illustrating a second example of filteredaudio, according to some embodiments. The EC 114 of FIG. 1 may analyzefiltered audio data 410 (e.g., one of the filtered audio data 132, 134)to determine the amplitude 404 of the audio data 402 and the length oftime 406 that the amplitude 404 satisfies a first predeterminedthreshold. For example, the EC 114 may determine an area 412 in whichthe amplitude 404 exceeds a threshold of 30 db. The EC 114 may determineif the length of the time 406 in the area 412 satisfies a secondpredetermined threshold. For example, based on the area 412, the EC 114may determine that the amplitude 404 exceeds 30 db for about 450 ms(e.g., 475 ms−25 ms=450 ms), which does not satisfy the threshold of 500ms. In this example, if the filtered audio data 410 is the filteredaudio data 132 from the primary sensor 116, then the EC 114 maydetermine that a swipe gesture was not performed on the swipeableportion 110 and perform no action.

In FIG. 1, the EC 114 may compare a first amplitude of first audio inthe filtered data 132 (e.g., from the primary sensor 116) with a secondamplitude of second audio in the filtered data 134 (e.g., from thesecondary sensor 124). For example, assume the filtered audio data 402is the filtered data 132 from the primary sensor 116 and the filteredaudio data 410 is the filtered data 134 from the secondary sensor 124.The EC 114 may do a comparison of areas 408, 412 to determine whetherthe area 412 has a maximum amplitude less than (or within apredetermined threshold of) a maximum amplitude of the area 408. Forexample, as illustrated in FIGS. 4A and 4B, area 408 and area 412 bothhave a maximum amplitude of about 52.5 db. In such cases, the EC 114 maydetermine that non-swipe generated vibrations may have been received byboth the primary sensor 116 and the secondary sensor 124, and no actionmay be performed. If the EC 114 determines that the maximum amplitude ofarea 412 is less than the maximum amplitude of area 408, then the EC 114may determine that a swipe gesture was performed and the EC 114 mayperform one or more associated actions (e.g., determining and displayinga battery level).

In some cases, the EC 114 may do a comparison of areas 408, 412 todetermine whether the area 412 has a maximum amplitude within apredetermined threshold of a maximum amplitude of the area 408. Forexample, assume that by mounting the primary sensor 116 between thevibration damping materials 302 of FIG. 3, vibrations transmitted by thehousing 304 are reduced by P db (e.g., P=3 db, 6 db or the like). If themaximum amplitude of area 408 is greater than the maximum amplitude ofarea 408 plus P, then the EC 114 may determine that a swipe gesture wasperformed and perform one or more associated actions. For example, theEC 114 performs an action if

Maximum Amplitude of Area 408>(Maximum Amplitude of Area 408+P)

where P=amount of vibrational damping from materials 302.

If the maximum amplitude of area 408 is less than or equal to themaximum amplitude of area 408 plus P, then the EC 114 may determine thata swipe gesture was not performed (e.g., the vibrations were notgenerated by a swipe) and the EC 114 may perform no action.

In the flow diagram of FIG. 5, each block represents one or moreoperations that can be implemented in hardware, software, or acombination thereof. In the context of software, the blocks representcomputer-executable instructions that, when executed by one or moreprocessors, cause the processors to perform the recited operations.Generally, computer-executable instructions include routines, programs,objects, modules, components, data structures, and the like that performparticular functions or implement particular abstract data types. Theorder in which the blocks are described is not intended to be construedas a limitation, and any number of the described operations can becombined in any order and/or in parallel to implement the processes. Fordiscussion purposes, the process 400, is described with reference toFIGS. 1, 2, 3, and 4 as described above, although other models,frameworks, systems and environments may be used to implement theseprocesses.

FIG. 5 is a flowchart of a process 500 that uses at least two sensors toprovide noise rejection, according to some embodiments. For example, theprocess 500 may be performed by the EC 114 of FIG. 1 and FIG. 2.

At 502, the process may receive data from a first (e.g., primary)sensor. At 504, the process filters the data to create filtered data. At506, the process may determine an amplitude and a length of an audiosignal in the filtered data. For example, in FIG. 1, after the hand 108swipes the textured edge 122, the sound created by the swipe may becarried by the material 120 to the primary sensor 116. The textured edge122 of the material 120 may be created in such a way as to emit aparticular set of frequencies (“swipe generated frequencies”) whenswiped. The primary sensor 116 may convert the analog sound into digitalmotion-generated data 126 and send the motion-generated data 126 to theEC 114. The EC 114 may filter the motion-generated data 126 using afilter (e.g., band pass filter) to reduce the amplitude of non-swipegenerated frequencies to create the filtered data 132.

At 508, the process may determine if the amplitude of the filtered datasatisfies a first threshold. If the process determines that “yes” theamplitude satisfies the first threshold, then the process proceeds to510. If the process determines that “no” the amplitude does not satisfythe first threshold, then the process proceeds to 518, where no actionis performed. For example, in FIG. 1, the EC 114 may determine whetheran amplitude of the filtered data 132 satisfies a first (e.g.,amplitude) threshold, e.g., whether the amplitude is greater than X db,where X=20, 30, 40, 50, 60, 70, 80, 90 db or the like. If the amplitudeof the filtered data 132 does not satisfy the first threshold, then noaction may be performed. If the amplitude of the filtered data 132satisfies the first threshold then, prior to performing an associatedaction, in some cases, one or more additional conditions (e.g., 410,412, 414) may be determined.

At 510, the process may determine if the length of the filtered datasatisfies a second threshold. If the process determines that “yes” thelength satisfies the second threshold, then the process proceeds to 512.If the process determines that “no” the length does not satisfy thesecond threshold, then the process proceeds to 518, where no action isperformed. For example, in FIG. 1, the EC 114 may determine whether alength time associated with the swipe satisfies a second (e.g., length)threshold. For example, the EC 114 may determine a length of time that asignal in the filtered data 132 satisfies the first threshold todetermine a length of time associated with the swipe. If the length ofthe signal in the filtered data 132 does not satisfy the second (e.g.,length) threshold (e.g., at least M milliseconds (ms), M>0, such asM=400 ms, 500 ms, 600 ms or the like), then no action may be performed.If the length of the signal in the filtered data 132 satisfies thesecond threshold (e.g., at least 400 ms, 500 ms, 600 ms or the like),then, prior to performing an associated action, in some cases, one ormore additional conditions may be determined.

At 512, the process may determine if second data from a second sensorsatisfies a particular condition (e.g., a maximum amplitude of thesecond data is at least a predetermined amount Z less than the maximumamplitude of the filtered data, e.g., Z=1 db, 3 db, 10 db, or the like).If the process determines that “yes” the particular condition issatisfied, then the process proceeds to 514. If the process determinesthat “no” the particular condition is not satisfied, then the processproceeds to 518, where no action is performed. For example, in FIG. 4, acomparison of areas 408, 412 may be performed to determine whether thearea 412 has a maximum amplitude within a predetermined threshold of amaximum amplitude of the area 408. Assume that by mounting the primarysensor 116 between the vibration damping materials 302 of FIG. 3,vibrations transmitted by the housing 304 are reduced by P db (e.g., P=3db, 6 db or the like). If the maximum amplitude of area 408 is greaterthan the maximum amplitude of area 408 plus P, then the EC 114 maydetermine that a swipe gesture was performed and perform one or moreassociated actions. If the maximum amplitude of area 408 is less than orequal to the maximum amplitude of area 408 plus P, then the EC 114 maydetermine that a swipe gesture was not performed (e.g., the vibrationswere not generated by a swipe) and the EC 114 may perform no action.

At 514, the process may determine if one or more input devices are beingused. If the process determines that “yes” one or more input devices arebeing used, then the process proceeds to 518, where no action isperformed. If the process determines that “no” the one or more inputdevices are not in use, then the process proceeds to 516, where one ormore actions (e.g., associated with a swipe gesture) are performed. Forexample, in FIG. 1, if the EC 114 determines that input is beingreceived from an input device, such as a keyboard or a track pad of thecomputing device 100, then the EC 114 may determine that the primarysensor 116 is detecting vibrations caused by the use of the inputdevice, and not perform an action. If the EC 114 determines that inputis not being received from an input device, such as a keyboard or atrack pad of the computing device 100, then, prior to performing anaction associated with the swipe gesture, in some cases, one or moreadditional conditions may be determined. If the conditions 508, 510,512, and 514 are satisfied, then one or more actions associated with theswipe gesture may be performed. For example, the actions may includedetermining and displaying a battery level, modifying a contrast of adisplay device, modifying a brightness of the display device, modifyinga volume of an output device, modifying an input level of an inputdevice, or the like. If the conditions are not satisfied, then no actionmay be performed. The process may perform the determinations 508, 510,512, and 514 in a particular order that uses a least amount of batterypower. For example, the determinations 508, 510, 512, and 514 that takethe least amount of power to perform may be performed before theremaining determinations. To illustrate, the process may determine ifinput is being received from an input device and if yes, then the otherdeterminations may not be performed.

FIG. 6 illustrates an example configuration of a computing device 600that can be used to implement the computing device 100. The computingdevice 102 may include one or more processors 602 (e.g., CPU, GPU, orthe like), a memory 604, communication interfaces 606, a display device608, other input/output (I/O) devices 610 (e.g., keyboard, trackball,and the like), and one or more mass storage devices 612 (e.g., diskdrive, solid state disk drive, or the like), configured to communicatewith each other, such as via one or more system buses 614 or othersuitable connections. While a single system bus 614 is illustrated forease of understanding, it should be understood that the system buses 614may include multiple buses, such as a memory device bus, a storagedevice bus (e.g., serial ATA (SATA) and the like), data buses (e.g.,universal serial bus (USB) and the like), video signal buses (e.g.,ThunderBolt®, DVI, HDMI, and the like), power buses, etc.

The processors 602 are one or more hardware devices that may include asingle processing unit or a number of processing units, all of which mayinclude single or multiple computing units or multiple cores. Theprocessors 602 may include a graphics processing unit (GPU) that isintegrated into the CPU or the GPU may be a separate processor devicefrom the CPU. The processors 602 may be implemented as one or moremicroprocessors, microcomputers, microcontrollers, digital signalprocessors, central processing units, graphics processing units, statemachines, logic circuitries, and/or any devices that manipulate signalsbased on operational instructions. Among other capabilities, theprocessors 602 may be configured to fetch and execute computer-readableinstructions stored in the memory 604, mass storage devices 612, orother computer-readable media.

Memory 604 and mass storage devices 612 are examples of computer storagemedia (e.g., memory storage devices) for storing instructions that canbe executed by the processors 602 to perform the various functionsdescribed herein. For example, memory 604 may include both volatilememory and non-volatile memory (e.g., RAM, ROM, or the like) devices.Further, mass storage devices 612 may include hard disk drives,solid-state drives, removable media, including external and removabledrives, memory cards, flash memory, floppy disks, optical disks (e.g.,CD, DVD), a storage array, a network attached storage, a storage areanetwork, or the like. Both memory 604 and mass storage devices 612 maybe collectively referred to as memory or computer storage media hereinand may be any type of non-transitory media capable of storingcomputer-readable, processor-executable program instructions as computerprogram code that can be executed by the processors 602 as a particularmachine configured for carrying out the operations and functionsdescribed in the implementations herein.

The computing device 600 may include one or more communicationinterfaces 606 for exchanging data via the network 106 (e.g., when thecomputing device 600 is connected to the dock 104). The communicationinterfaces 606 can facilitate communications within a wide variety ofnetworks and protocol types, including wired networks (e.g., Ethernet,DOCSIS, DSL, Fiber, USB etc.) and wireless networks (e.g., WLAN, GSM,CDMA, 802.11, Bluetooth, Wireless USB, ZigBee, cellular, satellite,etc.), the Internet and the like. Communication interfaces 606 can alsoprovide communication with external storage, such as a storage array,network attached storage, storage area network, cloud storage, or thelike.

The display device 608 may be used for displaying content (e.g.,information and images) to users. Other I/O devices 610 may be devicesthat receive various inputs from a user and provide various outputs tothe user, and may include a keyboard, a touchpad, a mouse, a printer,audio input/output devices, and so forth. The computer storage media,such as memory 116 and mass storage devices 612, may be used to storesoftware and data, such as, for example, one or more applications 616and data 618.

The computing device 100 may include the swipeable portion 110, and thesensors 116, 124, the material 120 with the textured surface 122, andthe lights 118. The EC 114 may include a memory 620 (e.g., including RAMand ROM) to store software 622, firmware 624, filters 626 (e.g., lowpass, bandpass, and high pass filters), thresholds 628 (e.g., thevarious thresholds described herein), one or more gestures 630(1) to630(N) (N>0), which each of the gestures 630(1) to 620(N) having acorresponding set of one or more actions 632(1) to 632(N).

Thus, the EC 114 may detect a user performing a swipe gesture to theswipeable portion 110 of the computing device 100. The computing device100 may be a portable computing device (e.g., laptop, tablet,smartphone, smartwatch, or the like). When the user performs a swipegesture to the swipeable portion 110 of the computing device 100, the EC114 may, in response to detecting one of the gestures 630, perform oneor more corresponding actions 632, such as determining and temporarilydisplaying an amount of battery life remaining in the battery 130,raising or lowering (e.g., depending on a direction of the swipe) avolume of an audio output (e.g., I/O devices 610), a brightness of thedisplay device 608, a contrast of the display device 608, or anotheraction related to the computing device 100. Various techniques andconditions are used, including the textured surface 122, vibrationdampening materials 302, differential signaling from the two sensors 116124, bandpass filtering (one of the filters 626), to reduce falsetriggers. A false trigger is the accidental or unintentional triggeringof one or more actions associated with a swipe gesture.

The primary (e.g., first) sensor 116 may be placed near the swipeableportion 110 to detect vibrations generated by the swipe gesture. Theprimary sensor 116 may be mounted (e.g., sandwiched) between two piecesof vibrational damping material 302 of FIG. 3 to isolate the primarysensor 116 from other vibrations that may be transmitted by theenclosure 304. When the primary sensor 116 detects vibrations, theprimary sensor 116 may wake the EC 114, which determines whether a swipegesture occurred. If the EC 114 determines that a swipe gesture wasperformed, the EC 114 may determine a set of actions 632 associated withthe swipe gesture 530. In this way, for example, the user can performactions, such as displaying the battery level of the battery 130,without turning on (e.g., without booting up) the computer 100.

In some cases, the secondary sensor 124 may be located at a differentlocation from the primary sensor 116. The second sensor 124 may becoupled to (or at least not isolated from) the enclosure 304 to enablethe secondary sensor 124 to capture data (e.g., vibrations) notgenerated by a user swipe. The secondary sensor 124 may be used toprovide noise rejection and prevent false triggering. For example, ifboth the primary sensor 116 and the secondary sensor 124 detectvibrations, then the data from both sensors 116, 124 may be compared todetermine whether the user performed a swipe gesture, as described inFIG. 4.

Thus, the swipeable portion 110 located in a housing of the computingdevice 100 may be programmed to perform one or more actions 632 when aswipe gesture is detected along the swipeable portion 110. To increasethe amplitude of the motion-generated data when a swipe gesture occurs,the swipeable portion may use material 120 that has the textured surface122, such as striations or bumps. The motion-generated data may befiltered (e.g., bandpass filtering) to reduce the amplitude offrequencies not included in the particular set of frequencies created bythe striations or bumps, further reducing the possibility of falsetriggering due to other vibrations transmitted by the enclosure (e.g.,housing). By placing the primary sensor 116 near the swipeable portion110 of the computing device 100 that includes the textured surface 122and locating the secondary sensor 124 further away, false triggering canbe reduced. The primary sensor 116 may be mounted between vibrationdamping (e.g., viscoelastic) material to decouple the primary sensor 116from the enclosure, thereby reducing the amplitude of vibrations notoriginating from the swipeable portion 110. The secondary sensor 124 maybe mounted further from the swipeable portion 110 and may be coupled tothe enclosure to receive vibrations being transmitted by the enclosure.For example, if the motion-generated data received by the secondarysensor 124 has an amplitude that is the same or greater than theamplitude of motion-generated data received by the primary sensor 116,then no action may be performed because the motion-generated data waslikely not generated by a swipe. In this way, the signal-to-noise ratio(also referred to as SNR or S/N ratio) of the motion-generated datagenerated by a swipe may be increased, thereby reducing false triggeringdue to the user incidentally brushing up against the swipeable portionand other (e.g., non-swipe generated) vibrations, such as being carriedin a bag, being placed in or removed from a bag, being placed on asurface, and the like.

The example systems and computing devices described herein are merelyexamples suitable for some implementations and are not intended tosuggest any limitation as to the scope of use or functionality of theenvironments, architectures and frameworks that can implement theprocesses, components and features described herein. Thus,implementations herein are operational with numerous environments orarchitectures, and may be implemented in general purpose andspecial-purpose computing systems, or other devices having processingcapability. Generally, any of the functions described with reference tothe figures can be implemented using software, hardware (e.g., fixedlogic circuitry) or a combination of these implementations. The term“module,” “mechanism” or “component” as used herein generally representssoftware, hardware, or a combination of software and hardware that canbe configured to implement prescribed functions. For instance, in thecase of a software implementation, the term “module,” “mechanism” or“component” can represent program code (and/or declarative-typeinstructions) that performs specified tasks or operations when executedon a processing device or devices (e.g., CPUs or processors). Theprogram code can be stored in one or more computer-readable memorydevices or other computer storage devices. Thus, the processes,components and modules described herein may be implemented by a computerprogram product.

Furthermore, this disclosure provides various example implementations,as described and as illustrated in the drawings. However, thisdisclosure is not limited to the implementations described andillustrated herein, but can extend to other implementations, as would beknown or as would become known to those skilled in the art. Reference inthe specification to “one implementation,” “this implementation,” “theseimplementations” or “some implementations” means that a particularfeature, structure, or characteristic described is included in at leastone implementation, and the appearances of these phrases in variousplaces in the specification are not necessarily all referring to thesame implementation.

Although the present invention has been described in connection withseveral embodiments, the invention is not intended to be limited to thespecific forms set forth herein. On the contrary, it is intended tocover such alternatives, modifications, and equivalents as can bereasonably included within the scope of the invention as defined by theappended claims.

What is claimed is:
 1. A method comprising: receiving, by an embeddedcontroller of a computing device, primary data from a primary sensormounted between vibration damping material that decouples the primarysensor from vibrations transmitted by a housing of the computing device;filtering, by the embedded controller, the primary data to createfiltered data; determining, by the embedded controller, that thefiltered data satisfies one or more criteria; determining, by theembedded controller, that a swipe gesture was performed on a swipeableportion of the computing device; and causing, by the embeddedcontroller, one or more actions associated with the swipe gesture to beperformed.
 2. The method of claim 1, wherein filtering the primary datato create the filtered data comprises: filtering out frequencies notcreated by the swipe gesture on the swipeable portion of the computingdevice using a bandpass filter to create the filtered data.
 3. Themethod of claim 1, wherein the primary sensor is mounted betweenvibration damping material.
 4. The method of claim 1, wherein theswipeable portion of the computing device includes a textured surfaceincluding at least one of: a first bump having a first height togenerate a first frequency; a second bump having a second height togenerate a second frequency; or a third bump having a third height togenerate a third frequency.
 5. The method of claim 1, wherein performingthe one or more actions associated with the swipe gesture comprisesperforming at least one of: determining and displaying, using one ormore indicator lights, a battery level associated with a battery of thecomputing device; modifying a contrast level of a display device of thecomputing device to create a modified contrast level and displaying themodified contrast level using the one or more indicator lights;modifying a brightness level of a display device of the computing deviceto create a modified brightness level and displaying the modifiedbrightness level using the one or more indicator lights; modifying anaudio output level of the computing device to create a modified audiooutput level and displaying the modified audio output level using theone or more indicator lights; or modifying an audio input level of thecomputing device to create a modified audio input level and displayingthe modified audio input level using the one or more indicator lights.6. The method of claim 1, wherein, before determining that the swipegesture was performed on the swipeable portion of the computing device,the method further comprises: determining that one or more input devicesare not in use.
 7. The method of claim 1, wherein, before determiningthat the swipe gesture was performed on the swipeable portion of thecomputing device, the method further comprises: receiving second datafrom a secondary sensor; filtering the second data to create secondfiltered data; and determining that a second amplitude of the secondfiltered data is less than an amplitude of the filtered data.
 8. Acomputing device comprising: an enclosure to house one or more inputdevices; one or more processors; a swipeable portion comprising: amaterial having a textured surface; a primary sensor to receive audiowaves; and an embedded controller configured with logic instructions to:receive primary data from the primary; filter the primary data to createfiltered data; determine that the filtered data satisfies one or morecriteria; determine that a swipe gesture was performed on a swipeableportion of the computing device; and causing one or more actionsassociated with the swipe gesture to be performed.
 9. The computingdevice of claim 8, wherein the embedded controller filters the primarydata to create the filtered data by: filtering out frequencies notcreated by the swipe gesture on the swipeable portion of the computingdevice using a bandpass filter to create the filtered data.
 10. Thecomputing device of claim 8, wherein the primary sensor is mountedbetween two layers of vibration damping.
 11. The computing device ofclaim 8, wherein the swipeable portion of the computing device includesa textured surface including at least one of: a first bump having afirst height to generate a first frequency; a second bump having asecond height to generate a second frequency; or a third bump having athird height to generate a third frequency.
 12. The computing device ofclaim 8, wherein performing the one or more actions associated with theswipe gesture comprises performing at least one of: determining anddisplaying, using one or more indicator lights, a battery levelassociated with a battery of the computing device; modifying a contrastlevel of a display device of the computing device to create a modifiedcontrast level and displaying the modified contrast level using the oneor more indicator lights; modifying a brightness level of a displaydevice of the computing device to create a modified brightness level anddisplaying the modified brightness level using the one or more indicatorlights; modifying an audio output level of the computing device tocreate a modified audio output level and displaying the modified audiooutput level using the one or more indicator lights; or modifying anaudio input level of the computing device to create a modified audioinput level and displaying the modified audio input level using the oneor more indicator lights.
 13. The computing device of claim 8, whereinthe one or more actions associated with the swipe gesture are performedwithout using the one or more processors.
 14. The computing device ofclaim 8, wherein the embedded controller is further configured to:receive second data from a secondary sensor that is coupled to theenclosure of the computing device; filter the second data to createsecond filtered data; and determine that a second amplitude of thesecond filtered data is less than an amplitude of the filtered data. 15.One or more non-transitory computer readable media storing instructionsexecutable by an embedded controller to perform operations comprising:receiving primary data from a primary sensor; filtering the primary datato create filtered data; determining that the filtered data satisfiesone or more criteria; determining that a swipe gesture was performed ona swipeable portion of the computing device; and causing one or moreactions associated with the swipe gesture to be performed.
 16. The oneor more non-transitory computer readable media of claim 15, whereinfiltering the primary data to create the filtered data comprises:filtering out frequencies not created by the swipe gesture on theswipeable portion of the computing device using a bandpass filter tocreate the filtered data.
 17. The one or more non-transitory computerreadable media of claim 15, wherein the swipeable portion of thecomputing device includes a textured surface including at least one of:a first bump having a first height to generate a first frequency; asecond bump having a second height to generate a second frequency; or athird bump having a third height to generate a third frequency.
 18. Theone or more non-transitory computer readable media of claim 15, whereinperforming the one or more actions associated with the swipe gesturecomprises performing at least one: determining and displaying, using oneor more indicator lights, a battery level associated with a battery ofthe computing device; modifying a contrast level of a display device ofthe computing device to create a modified contrast level and displayingthe modified contrast level using the one or more indicator lights;modifying a brightness level of a display device of the computing deviceto create a modified brightness level and displaying the modifiedbrightness level using the one or more indicator lights; modifying anaudio output level of the computing device to create a modified audiooutput level and displaying the modified audio output level using theone or more indicator lights; or modifying an audio input level of thecomputing device to create a modified audio input level and displayingthe modified audio input level using the one or more indicator lights.19. The one or more non-transitory computer readable media of claim 15,wherein the primary sensor is mounted between two layers of vibrationdamping material.
 20. The one or more non-transitory computer readablemedia of claim 15, wherein, before determining that the swipe gesturewas performed on the swipeable portion of the computing device, theoperations further comprise: determining that one or more input devicesare not in use; receiving second data from a secondary sensor that iscoupled to the enclosure of the computing device; filtering the seconddata to create second filtered data; and determining that a secondamplitude of the second filtered data is less than the amplitude of thefiltered data.